1. Field of the Invention
The present invention is a method of data segmentation in a mobile communications system, in particular a method that sets a flag in a Protocol Data Unit to be a specified value to increase transmission efficiency and avoid wasting of system resources.
2. Description of the Prior Art
As defined by the 3rd Generation Partnership Project (3GPP), the Radio Link Control entity comprises three transmission modes. The three transmission modes, Transparent Mode (TM), Unacknowledged Mode (UM), and Acknowledged Mode (AM), are for different quality requirements to segment packets. In UM, apart from segmenting packets, an appropriate header is added for each packet to aid checking packet order at a receiver and discarding error packets. This is suitable for services that have requirements of both instant transmission and packet order, such as Voice over Internet Protocol (VoIP) communications, Video Phone etc.
Please refer to FIG. 1. FIG. 1 is a diagram of a Protocol Data Unit (PDU) 100 in UM of the prior art. The PDU 100 comprises a sequence number (SN) field 102, a plurality of Length Indicator fields 104, a plurality of fields of extension bits 110, a data field 106 and a padding field 108. In the PDU 100, the sequence number field 102 represents an SN of the PDU 100 and the receiver can reorder received PDUs according to SNs in the sequence number field 102. The length of the extension bit field 110 is 1-bit, which is for storing an extension bit. In the prior art, when the extension bit in the extension bit field 110 is 1, it means that the next field is a Length Indicator field with another extension bit field. On the other hand, when the extension bit is 0, it means that the next field is a data field or a padding field (in AM, it can also be a piggybacked status report unit). The Length Indicator field 104 is used for indicating the ending location of the last octet of a Service Data Unit (SDU) in the PDU 100. The length (or size) of the Length Indicator field 104 can be 7-bit or 15-bit wherein the prior art reserves several preset values to cater to special requirements. In addition, the data field 106 is for storing a plurality of complete SDUs or their segments. The padding field 108 is used for padding unused space of the PDU 100 so that a total length of the PDU 100 agrees with a preset value.
As described earlier, UM is suitable for services that require both instant transmission and packet order, like VoIP communications, Video Phone etc. Taking VoIP services as an example, a good voice communication is continuous and hence closer to a true voice, so that Voice Frame generated (every 20 ms) from voice encoding should be transmitted instantly and continuously to a receiver to maintain voice signal fluency. Thus, for VoIP services, the prior art can map a Voice Frame onto a PDU, so that every PDU comprises a complete SDU (or Voice Frame) that is not segmented, concatenated or padded. For services of fixed data length like this, using the extension bit as described above adds a Length Indicator to each SDU, hence lowers transmission bandwidth efficiency. To increase the bandwidth efficiency for this type of service, the prior art sets the first extension bit of a PDU to be a 1-bit flag, for indicating whether a data field of the PDU comprises a complete SDU that is not segmented, concatenated or padded. To distinguish the flag extension bit from extension bits for other purposes, an Alternate Extension-bit Interpretation variable can be configured in the system to indicate whether the first extension bit of a PDU is used to indicate whether the next field comprises a complete SDU that is not segmented, concatenated or padded. In contrast, when the Alternate Extension-bit Interpretation is not configured or initiated, the first extension-bit field of the PDU is used to indicate whether the next field is a Length Indicator field with another extension bit field, or a data field.
Therefore, when the Alternate Extension-bit Interpretation is configured and if the size of an SDU does not match with the size of the data field in a PDU, a Length Indicator field is needed to indicate the ending location of the SDU. The first extension bit of a PDU is set to indicate that the next field is a Length Indicator field with another extension bit field. In addition, if the size of an SDU is larger than the size of the data field of a PDU, the SDU is segmented. In this situation, in order to keep every transmitting PDU comprising a complete SDU, the transmission efficiency is lowered and system resources are wasted. Please see the descriptions below.
First of all, according to the specification defined by the 3GPP, when the last segment of an SDU exactly ends at an end of a PDU while, in the PDU, no Length Indicator field indicates the ending location of the SDU, the first Length Indicator field of the next PDU is set to 0. Therefore, if the Length Indicator field is 7-bit long, the first Length Indicator field of the next PDU is set to be (000 0000). If the Length Indicator field is 15-bit long, the first Length Indicator field of the next PDU is set to be (000 0000 0000 0000).
Please refer to FIG. 2. FIG. 2 is a diagram of transmitting a sequence of SDUs when the Alternate Extension-bit Interpretation is configured in UM of the prior art. In FIG. 2, the sequence of SDUs comprises SDUs 210, 212, 214, 216, which have sizes of 16, 10, 14, 14 octets respectively. After processes done by sublayers of the RLC entity (transmission buffering, segmenting and concatenating, adding header, encoding etc), PDUs 200, 202, 204, 206, 208 (which have SNs equal to 0, 1, 2, 3, 4 respectively) are output in this sequence. All PDUs 200, 202, 204, 206, 208 have a size of 15 octets, so that when the SDU 210 is divided into partial segments 2100, 2102, their sizes are 13 and 3 octets.
As described earlier, when the Alternate Extension-bit Interpretation is configured, the first extension bit of a PDU is used to indicate whether the next field is a complete SDU that is not segmented, concatenated or padded, or a Length Indicator field with another extension bit field. Therefore, a first extension bit of the PDU 200 is set to 1, after that is a Length Indicator field LI=1111100, which is a specified value for indicating a start of the SDU 210. Similarly, a first extension bit of the PDU 202 is set to 1, after that is a Length Indicator field LI=3, for indicating an ending location of the SDU 210. Please note that, in the PDU 202, the SDU 212 exactly fills a remaining space of the PDU 202, meaning that, the SDU 212 exactly ends at the end of the PDU 202. Since there is no remaining space for another Length Indicator field to indicate an ending location of the SDU 212, the first Length Indicator field of the PDU 204 is set to 0 to indicate this situation. Then, since the SDUs 214, 216 fill data fields of both the PDUs 206, 208. In order to meet requirements of each Transmitting PDU comprising a complete SDU, a second Length Indicator field of the PDU 204 is set to (1111111), which means that the remaining space of the PDU 204 is padding (PAD). In other words, because the SDU 212 ends at the end of the PDU 202, the PDU 204 needs to comprise two Length Indicator fields. One indicates the end of the SDU 212 whereas the other indicates the remaining space to be PAD, so that the requirement of each transmitting PDU comprising a complete SDU is met for PDUs that follows the PDU 204. However, there is no data to be processed (signals output to users) by the receiver in the PDU 204, therefore the PDU 204 causes wasting of system resource and lowering of transmission efficiency.
In summary, since the size of the SDU 210 is larger than the size of data fields of the PDU 200, the SDU 210 is divided into two segments 2100 and 2102. The SDU 212, which follows the last segment 2102 of the SDU 210, exactly fills the data field of the PDU 202 and there is no space remaining in the PDU 202 to contain another Length Indicator field to indicate the ending location of the SDU 212. Thus, the prior art indicates the end of the SDU 212 with the (additional) PDU 204 carrying a Length Indicator field having a value of 0. Since the SDUs 214, 216 following the SDU 212 match (fill) the data fields of PDUs, in order to meet the requirement of each transmitting PDU comprising a complete SDU, the remaining space of the PDU 204 is PAD, which means that there is no ‘useful’ information in the PDU 204. This means the system resources are wasted and transmission efficiency is lowered.